package com.gopay.remote.acps.service;

import java.util.Date;

import com.gopay.common.domain.acps.TranInfoBean;
import com.gopay.common.domain.acps.TranResult;

/**
 * 账务接口, TCC分布式事务补偿实现
 * @author MA HUAN
 * @author KZ-TU
 *
 */
public interface TccAcctTransRemoteService {
    /**
     * 执行账务
     */
    TranResult doTransTry(TranInfoBean tran, String tokenId);
    
    boolean doTransConfirm(String tokenId);
    boolean doTransConfirm(String tokenId, boolean async);
    
    boolean doTransCancel(String tokenId);
    
    boolean isDone(String tokenId, Date triedTime);
}
